CREATE OR REPLACE PACKAGE pkg_db_tools
IS

   --THIS IS MEANT TO BE A GENERIC PACKAGE
   --CONTAINING DATABASE USTILITIES
    
   --FUNCTION TO RETURN DATABASE GLOBAL_NAME 
   FUNCTION f_db_name
   RETURN VARCHAR2;
  
  --RETURNS all_tab_column record for a database column  
  FUNCTION f_get_column_rec
    ( the_owner IN VARCHAR2
    , the_table IN VARCHAR2
    , the_column_name IN VARCHAR2 )
  RETURN all_tab_columns%ROWTYPE;
  
   --THIS PROCEDUE WILL RESET THE NAMED SEQUENCE TO THE GIVEN START VALUE
   --THE_RESPONSE WILL INDICATE SUCCESS OR FAILURE - THE FIRST WORD WILL EITHER BE
   --SUCCESS OR FAILURE, THE SQLERRM WILL BE RETURNED
   PROCEDURE reset_sequence 
      ( seq_name IN VARCHAR2
      , startvalue IN PLS_INTEGER
      , the_response OUT VARCHAR2 );
   
   /* 
   This procedure will dbms_output the proper code to grant 
        -select, insert, update, delete on all tables and views
        -execute on all procedures
   */
   PROCEDURE schema_grants
      ( the_role_name IN VARCHAR2
      , the_schema_name IN VARCHAR2 );
   
   /*
   This procedure will dbms_output the proper code to drop and recreate
   synonyms for all functions,  procedures and packages.
   */ 
   PROCEDURE schema_synonyms( the_schema_name IN VARCHAR2 );
      
END pkg_db_tools;